home *** CD-ROM | disk | FTP | other *** search
/ Wildcat Gold - The Optical BBS / Wildcat Gold - The Optical BBS (The Golden ROM Series)(Volume 4 Number 1)(The Digital Publishing Company)(1992).ISO / sdn / taskmst.sdn / TM480.EXE / TMMANUAL.EXE / TMMAN.TSK < prev   
Text File  |  1991-09-10  |  7KB  |  248 lines

  1. ; Title   : TMMAN.TSK                   Last Updated : September 5, 1991
  2. ; Author  : Steve Johnson - FmP.        Version      : 1.30
  3. ; Purpose : On-line Taskmaster manual
  4. ; Notes   : Uses short form names constructed from Bounce-Bar HILITE value
  5. ;         : Data is located after code.
  6. ;         : If not colour video behave as if adaptor has only 1 screen page
  7. ;         : If by chance double <returns> required; increase DELAY from 2.
  8.  
  9. GOTO 1DATA
  10. 1START
  11. put "1" noclear
  12. move 2 to delay
  13. until forever
  14.   screen 0
  15.   switch 0
  16.   move 0c000h to bbmask
  17.   move mhi to choice
  18.   put "X"
  19.   move hilite to mhi
  20.   if choice = 30
  21.     stop
  22.   fi
  23.   if choice = 31    ;F1 help requested
  24.     put "1" noclear
  25.     put "2" noclear
  26.     move 30 to choice
  27.     move true to bbdisp
  28.   fi
  29.   move entry hilite of mletter to m_id
  30.   combine "M" m_id into smenu_name
  31.   clear shilite
  32.   until choice = 30
  33.     move 0e000h to bbmask
  34.     screen 1
  35.     move shilite to choice
  36.     put smenu_name nodata
  37.     switch 1
  38.     clear bbdisp
  39.     move 0e000h to bbmask
  40.     put smenu_name
  41.     move hilite to shilite
  42.     if choice < 30
  43.       move entry hilite of mletter to sid
  44.       combine m_id sid into ssmenu_name
  45.       screen 2
  46.       if ssmenu_name ne last_form or not colour
  47.     put ssmenu_name nowait
  48.     move ssmenu_name to last_form
  49.       fi
  50.       switch 2
  51.       userline attn "Press any key..."
  52.       inkey char
  53.       if colour
  54.     clear bbdisp
  55.       fi
  56.     else
  57.       if choice = 31
  58.         move hilite to count
  59.         forms logon.ovr
  60.         move 8000h to bbmask
  61.     put menus_help
  62.         forms formsname
  63.         move count to choice
  64.     clear bbdisp
  65.       else
  66.     if choice = 32
  67.       clear rtn dont_ask mgeline
  68.       until rtn
  69.         if not dont_ask
  70.               fieldfill cmd
  71.               put '3'
  72.           get cmd
  73.               trim cmd
  74.           if anyfk
  75.         move true to rtn
  76.           fi
  77.         else
  78.           move 8000h to bbmask
  79.           screen 3
  80.           switch 3
  81.           put cr
  82.           move display to cmd
  83.           if choice = 30
  84.         clear possibles dont_ask
  85.         sizevar cmd 0
  86.         move true to rtn
  87.           fi
  88.         fi
  89.         if cmd ne null and not rtn
  90.           append 9 to cmd
  91.           find cmd_x sw cmd
  92.           if found ;exact match
  93.         cursor 10 0
  94.         move entry row of cmd_x to x_entry
  95.         move zero to delim
  96.         setscan x_entry
  97.         clear cmd fn
  98.         scan cmd fn
  99.         screen 2
  100.         if fn ne last_form or not colour
  101.           put fn nowait
  102.           move fn to last_form
  103.         fi
  104.         switch 2
  105.         userline attn "Press any key..."
  106.         inkey char
  107.         if colour
  108.           clear bbdisp
  109.         fi
  110.         move true to rtn
  111.           else
  112.         move cmd to char
  113.         find cmd_x sw char
  114.         if found
  115.           move row to count
  116.           clear j
  117.           until not entry count of cmd_x sw char OR COUNT = 119
  118.             if entry count of cmd_x sw char
  119.               move entry count of cmd_x to cmd
  120.               combine cmd 1 into entry j of possibles
  121.               increment j
  122.             fi
  123.           fi count
  124.           clear count
  125.           until count = j
  126.             insert entry count of possibles
  127.           fi count
  128.           move true to dont_ask
  129.         else
  130.                   back 4
  131.                   fore 15
  132.           cursor 21 10 mge2 char " Press any key..."
  133.                   back 1
  134.           inkey char
  135.                   cursor 21 10 61
  136.         fi
  137.           fi
  138.         fi
  139.       fi
  140.       clear choice
  141.     fi
  142.       fi
  143.     fi
  144.     if colour
  145.       clear bbdisp
  146.     fi
  147.   fi
  148.   clear choice
  149. fi
  150. stop
  151. 1DATA
  152. ; screen and switch used.  This assumes
  153. ; that the required display pages are available. If  this is not a colour
  154. ; screen assume it has only one page and invoke with the /m flag
  155.  
  156. ; Formnames are short as index space in forms file is limited to 1024 bytes.
  157. ; 'Direct access' option accounts for half the code and most of the data.
  158.  
  159. int count
  160. int j
  161. int mhi
  162. int shilite
  163.  
  164. logical dont_ask
  165. logical forever
  166. logical rtn    ;return_to_normal
  167.  
  168. vconst attn,79
  169. vconst cel,55
  170. vconst cls,11
  171.  
  172. var char,1
  173. var cmd,9
  174. var cmdm,53,'Command or system variable name? (or initial letter)'
  175. var cmd_x,11,occurs 119,
  176. 'ADD      11ANYFK    E1APPEND   21ASK      31ASKLN    32ASKMASK  E2'
  177. 'BACK     41BBDISP   E3BBMASK   E4BEHAVE   51CATALOG  61CHOICE   E6'
  178. 'CLEAR    81COMBINE  22COMPAT   A1CURSOR   42DATA     A2DATE     E7'
  179. 'DDRIVE   E9DECODE   23DECREMENT12DEFINE   71DELAY    E8DELIM    EA'
  180. 'DISABLE  A3DIR      C1DISPLAY  43DISPLAYLN44DISPLAY  EBDIVIDE   13'
  181. 'DRAW     45ECHO     ECELEVEL   EDELSE     91ENABLE   A4ENCODE   24'
  182. 'END      72ENDM     B1ENDTASK  92ERASE    C2EXITM    B2FALSE    F1'
  183. 'FCOL     F2FI       93FIELDFILLB3FIND     25FORMS    B4FORE     46'
  184. 'FOUND    F3FREE     F4FUNKEY   F5GET      B5GETVOL   C3GO       94'
  185. 'HEXVAR   73HIDE     F6HILITE   F7IF       95INCREMENT14INKEY    33'
  186. 'INSERT   B6INT      74KEYVAL   F9KEY      F8LARGE    52LDATE    FA'
  187. 'LOCATE   47LOGICAL  75LOGIN    62LOGOUT   63LOOKFOR  C4MENU     B7'
  188. 'MOVE     26MULTIPLY 15NOTRACE  D1OPTION   B8PASSWORD 64POPDOWN  48'
  189. 'POPFREE  49POPGET   4APOPUP    4BPOPSCREEN4EPRINTER  A5PUT      B9'
  190. 'REPLACE  27RESTORE  C5RESP     FBRETURN   BAREVERSE  29ROW      FD'
  191. 'RUN      53SAVE     C6SCAN     2BSCANVID  4CSCREEN   4DSELECT   A6'
  192. 'SETSCAN  2CSIZEVAR  82STEP     D2STOP     96STRATEGY A7SUBTRACT 16'
  193. 'SWITCH   4ESYSFREE  FFSYSMAX   FETIMER    FHTIME     FGTRACE    D3'
  194. 'TRIM     2BTRUE     FIUNTIL    99UPPER    2CUSERLINE 4FUSER     C8'
  195. 'VAR      76VCONST   77VERIFY   C7WAIT     97WHILE    98'
  196.  
  197. var fn,2
  198. var formsname,50
  199. var fmpdir,40,$FMPDIR   ;Environment var dictates location of OVR file
  200. var last_form,2
  201. var m_id,1
  202. var mge,43,"No such entry - looking for those starting "
  203. var mge2,43,"No commands or system variables start with "
  204. var mgeline,65,occurs 3
  205. var mletter,1,occurs20,"0123456789ABCDEFGHIJ"
  206. var null,1
  207.  
  208. var possibles,10,occurs 20
  209. var sid,1
  210. var smenu_name,10
  211. var ssmenu_name,10
  212. var tname,8,"   TMMAN"
  213. var x_entry,11
  214.  
  215. end
  216.  
  217. if fmpdir = null
  218.   move "C:\FMP" to fmpdir
  219. fi
  220. combine fmpdir '\tmman.ovr' into formsname
  221. replace '\\' of formsname with '\'
  222. lookfor formsname
  223. if not found
  224.   combine fmpdir '\logon.ovr' into formsname
  225.   replace '\\' of formsname with '\'
  226.   forms formsname ;in case /q and not registered
  227.   insert tname tname
  228.   put "NO_FORMS"
  229.   stop
  230. fi
  231. forms formsname
  232. display cls
  233. if colour
  234.   screen 1
  235.   display cls
  236.   screen 2
  237.   display cls
  238.   screen 3
  239.   display cls
  240.   screen 0
  241. fi
  242. GOBACK 1START
  243. endtask
  244. Forms source kept in separate file called TMMAN.MAC.
  245. Run TMMANUAL to recreate it if deleted.
  246.  
  247. 
  248.